<?php
require_once("DButil.php");
/**
*  执行注册功能
*/
$loginName = $_REQUEST["loginName"];
echo $loginName;
echo "<br>";
$password = $_REQUEST["password"];
echo $password;
echo "<br>";
$rePassword = $_REQUEST["rePassword"];
$rePassword = $_REQUEST["rePassword"];
echo $rePassword;
echo "<br>";
$phone = $_REQUEST["phone"];
echo $phone;
echo "<br>";
$headImage = $_FILES["headImage"];
// var_dump($headImage);



$conn = getConn();


// 判断登录名是否重复
$sql = "select u_login_name from t_user where u_login_name = '{$loginName}'";
$result = mysqli_query($conn, $sql);
// var_dump($result);
if($result){
    // 查询成功返回true, 哪怕没有查到任何数据
    // 通过 获取 结果集中的数据条数, 判断 是否查到了数据
    if(mysqli_num_rows($result)){
        // 注册失败, 需要跳转到 注册页面, 并在注册页面显示失败原因(需要是用户能看的懂的)
        header("location:http://localhost/20201229/php/yd/registerPage.php?msg=登录名已存在");
        return;
    }
}




//头像
if($headImage){
    /*
    获取到的文件对象中的 属性:
    name: 文件原始名称
    type: 文件的类型
    tmp_name: 文件临时存放的路径(不处理时, 程序用完后, 该文件会被自动删除)
    error: 上传时的错误码, 0表示正常
    size: 文件的大小(单位字节)

    error值:
        0:没有错误发生，文件上传成功
        1:上传的文件超过了 upload_max_filesize 的设置
        2:上传的文件大小超过了 HTML 表单中 max_file_size 的设置
        3:文件只有部分被上传
        4:没有文件被上传
    */
    if($headImage["error"] == 0) {
        // 把文件从临时目录移动到指定目录, 一般在php的工作目录中设置一个目录来保存上传的文件
        $rootPath = "D:/qdpx/20201229/php/yd/upload/";
        // 一般会把文件的名称重命名, 防止保存的文件同名, 一般在原文件名的前面加上当前的时间秒值, 以及随机数
        $oldName = $headImage["name"];
        // 防止文件名含有中文导致无法通过请求访问, 只保留文件的后缀
        $newName = time() . mt_rand(1000, 9999) . substr($oldName, mb_strpos($oldName, "."));
        // 移动成功返回true, 否则返回false
        if(move_uploaded_file($headImage["tmp_name"], $rootPath . $newName)){
            echo "<div>上传成功</div>";
            echo "<img style='width: 100px' src='/20201229/php/yd/upload/{$newName}' >";
        } else {
            echo "<div>文件保存失败</div>";
        }
    } else {
        echo "<div>文件上传失败</div>";
    }
} else {
    echo "<div>没有上传文件</div>";
}



//插入数据
$sql = "insert into t_user (u_login_name,u_password,u_phone,u_image_url) "
." values ('{$loginName}','{$password}','{$phone}','{$newName}')";
$result = mysqli_query($conn, $sql);
if($result) {
    echo "注册成功";
} else {
    $msg = mysqli_error($conn);
    // echo $msg;
    // 注册失败, 需要跳转到 注册页面, 并在注册页面显示失败原因(需要是用户能看的懂的)
    header("location:http://localhost/20201229/php/yd/registerPage.php?msg={$msg}");
}
mysqli_close($conn);
?>
